package com.mdd.front.service.collect;

import com.mdd.common.core.PageResult;
import com.mdd.common.entity.goods.GoodsCollect;
import com.mdd.front.validate.collect.GoodsCollectPageParam;
import com.mdd.front.validate.collect.GoodsCollectParam;
import com.mdd.front.vo.collect.GoodsCollectDetailVo;
import com.mdd.front.vo.collect.GoodsCollectListVo;

/**
 * 服务收藏服务接口类
 */
public interface IGoodsCollectService {

    /**
     * 服务收藏列表
     *
     * @param pageParam 分页参数
     * @return PageResult<GoodsCollectVo>
     */
    PageResult<GoodsCollectListVo> list(GoodsCollectPageParam pageParam);

    /**
     * 服务收藏详情
     *
     * @param id 主键ID
     * @return GoodsCollect
     */
    GoodsCollectDetailVo detail(Long id);

    /**
     * 服务收藏新增
     *
     * @param goodsCollectParam 参数
     */
    void add(GoodsCollectParam goodsCollectParam);

    /**
     * 服务收藏编辑
     *
     * @param goodsCollectParam 参数
     */
    void edit(GoodsCollectParam goodsCollectParam);

    /**
     * 服务收藏删除
     *
     * @param id 主键ID
     */
    void del(Long id);

    GoodsCollect getByGoodsId(Long userId, Long goodsId);
}
